/* test_ls.c 
test for:
1) seg_create
2) seg_put
3) seg_save
4) seg_load
5) seg_get
6) seg_save
7) seg_load
8) seg_show
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "seg.h"

int main()
{
	SEG_TABLE* a_seg=NULL;
	SEG_TABLE* b_seg=NULL;
	int iterm,i;

	sync_init("disk", NULL);

	a_seg=seg_create(SEG_TABLE_INIT_NR, 32, 4);
	for (i=0; i<30; i++)
	{
		seg_put_iterm(&a_seg, (char*)&i);
	}


	seg_save(a_seg, 20);
	int seg_page_id=a_seg->cur_page_id;
	int iterm_horizon=a_seg->iterm_horizon;
	printf ("\n\n");
	seg_show(a_seg);




	b_seg=seg_create(1,32,4);
	seg_load(&b_seg, 20, seg_page_id);
	b_seg->iterm_horizon=iterm_horizon;
	printf ("\n\n");
	seg_show(b_seg);

	for (i=0; i<14; i++) seg_get_iterm(b_seg, (char*)&iterm);

	seg_page_id=b_seg->cur_page_id;
	iterm_horizon=b_seg->iterm_horizon;
	seg_save(b_seg, 20);
	printf ("\n\n");
	seg_show(b_seg);

	seg_free(a_seg);
	seg_free(b_seg);




	a_seg=seg_create(1,32,4);
	seg_load(&a_seg, 20, seg_page_id);
	printf ("\n\n");
	seg_show(a_seg);

	seg_free(a_seg);

	return 0;
}

